-
Notifications
You must be signed in to change notification settings - Fork 67
✨ Promote Webhook FeatureGates to GA (OPRUN-4098) #2267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨ Promote Webhook FeatureGates to GA (OPRUN-4098) #2267
Conversation
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2267 +/- ##
==========================================
- Coverage 73.00% 70.14% -2.86%
==========================================
Files 88 88
Lines 8743 8743
==========================================
- Hits 6383 6133 -250
- Misses 1947 2194 +247
- Partials 413 416 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
docs/draft/tutorials/explore-available-content-metas-endpoint.md
Outdated
Show resolved
Hide resolved
/hold |
I think my preference would be to leave the feature-gates off by default, and put just the one we want into the BUT, the strangeness comes from the fact that we have cluster-olm-operator getting feature-gates from Openshift. I have a downstream change that would "remove" all upstream gates from BUT, another strangeness occurs because helm does not merge/combine lists; they are overwritten. I need to think about this some more. |
/hold Until we decide how to do |
That we have two feature-gates that can't be enabled simultaneously is causing us this headache (this should not be an issue with 99%of other features). Although the CertManager one takes priority: operator-controller/cmd/operator-controller/main.go Lines 517 to 524 in 1d685b1
Which I guess is a reasonable default. But it means we have to explicitly turn off CertManager to get OpenshiftServiceCA, and we don't really have that capability downstream. Due to the downstream mapping of feature-gates, we only handle "enabled" flags (i.e. we can't turn things off), and we couldn't turn things off without a way in the helm chart to do so (i.e. additional upstream effort). And disabling features just sounds wrong to me. I really think we need to enable features. Add in the fact that helm doesn't merge lists makes this more challenging. I'm envisioning a number of possible solutions, none of which I really like, so I'm wondering if this is something to be discussed in a meeting (office hours)? |
Options?
1a. Add a new "standardFeatures" list that parallels the existing helm feature lists so that the value doesn't have to be duplicated in both
|
562998c
to
61ead05
Compare
helm/olmv1/templates/deployment-olmv1-system-operator-controller-controller-manager.yml
Outdated
Show resolved
Hide resolved
There is no default certificate provider in OLMv1. We provide explicit options to turn on and use cert-manager and/or Openshift serviceca, and I think we need to be able to reflect that. Some fairly small changes would be needed to make the |
61ead05
to
85d0835
Compare
0063256
to
b6e90d7
Compare
Promote to GA WebhookProviderOpenshiftServiceCA and WebhookProviderCertManager. For upstream WebhookProviderCertManager is used by default when WebhookProviderOpenshiftServiceCA is disabled by default.
b6e90d7
to
87392e3
Compare
Hey folks 👋 I’ve updated this PR — it now reflects what we discussed. Please feel free to review when you get a chance 🙏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some suggestions for clarity. Feel free to apply what makes sense and disregard any comments that feel off topic.
OLMv1 supports the installation of bundles containing webhooks by default. | ||
The controller uses the `WebhookProviderCertManager` | ||
feature-gate unless you override it. To switch to the OpenShift Service CA provider, | ||
start the controller with `--feature-gates=WebhookProviderCertManager=false` and enable `--feature-gates=WebhookProviderOpenshiftServiceCA=true`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OLMv1 supports the installation of bundles containing webhooks by default. | |
The controller uses the `WebhookProviderCertManager` | |
feature-gate unless you override it. To switch to the OpenShift Service CA provider, | |
start the controller with `--feature-gates=WebhookProviderCertManager=false` and enable `--feature-gates=WebhookProviderOpenshiftServiceCA=true`. | |
OLM v1 supports installing bundles that use admission webhooks. | |
By default, OLM v1 uses the community Cert Manager package for admission webhook validation. To use the OpenShift Service CA provider, set the `--feature-gates=WebhookProviderOpenshiftServiceCA=true` flag at startup. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have more than one kind of webhook that is supported.
certManager is used only for the admission webhook
So, I think it would not be very accurate.
The other suggestion was accepted :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused, isn't that what I wrote?
"By default, OLM v1 uses the community Cert Manager package for admission webhook validation."
(I'm totally fine if you don't take the suggestion, but I thought we are both saying the same thing?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to have "OLMv1 supports the installation of bundles containing webhooks by default."
(because we support more than admission webhooks)
Then, below, we explain that for the specific case, admission, certmanager is used.
So, I updated it with a mix of your suggestions.
Co-authored-by: Michael Peter <[email protected]>
/hold cancel @tmshort @perdasilva as we discussed lets merge this one first. |
/hold cancel |
/lgtm |
@tmshort: Overrode contexts on behalf of tmshort: codecov/project In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tmshort The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
6b88f77
into
operator-framework:main
No description provided.